为什么要跨域?

Vue.js 真的是一个很好的前端框架.它很好地实现了前后端分离.但是在前后端分离的项目中,一般都会涉及到跨域请求的问题,那么什么是跨域?跨域指浏览器不允许当前页面所在的源去请求另一个源的数据.源指的是协议、端口、域名.只要这 3 个中有一个不同的就是跨域.

Vue-cli 3.0 怎么解决跨域问题?

搞前端的朋友应该都知道,Vue 官方在今年 8 月份左右更新了 vue-cli(从 2.0->3.0).脚手架的更新,使得 vue 项目的目录结构变得越来越简单,大量节省了程序员花在配置文件上的时间,在以前无法在项目初始化时自动初始化 VueX,更新之后就可以了,甚至还支持 Vue GUI,即是可以通过图形化界面新建 Vue 项目.那么说了这么多,我们到底怎么在 3.0 的版本上解决跨域问题呢?我去官网的文档上查看,官方文档至此还没完全翻译完全,以我这三脚猫的英语,实在难啃,不过还是解决了问题. 在项目根目录创建 vue.config.js 文件,然后到这个文件添加:

// vue.config.js
module.exports = {
  // 选项...
  baseUrl: '/',
  devServer: {
        port: 8080, // 端口号
        host: 'localhost',
        https: false, // https:{type:Boolean}
        open: true, //配置自动启动浏览器
        // proxy: 'http://localhost:4000' // 配置跨域处理,只有一个代理
        proxy: {
            '/api': {
                target: 'url',//后端接口地址
                ws: true,
                changeOrigin: true//是否允许跨域
            }
        }  // 配置多个代理
  }
}

有了这段代码可刺激了,你就可以实现跨域请求到后台数据:

v.$axios.post('/api/index', {

   },{

   }).then((response) => {
     if(response.data.meta.code===200){
       console.log(response.data);
     }else{
       alert('系统异常')
     }
   })

你就可以跨域项目源地址,到后台接口调数据,从而实现跨域.